/*******************************************************************************
 *
 * Copyright (c) 2001-2006 Primeton Technologies, Ltd.
 * All rights reserved.
 *
 * Created on Apr 11, 2008
 *******************************************************************************/
package com.primeton.eos.oss.model.newdataset;

import com.eos.data.sdo.IObjectFactory;
import com.primeton.ext.data.sdo.IllegalDataObjectTypeException;
import commonj.sdo.DataObject;
import commonj.sdo.Type;
import commonj.sdo.helper.DataFactory;
import commonj.sdo.helper.TypeHelper;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>AfcROrgPosition</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link com.primeton.eos.oss.model.newdataset.AfcROrgPosition#getId <em>Id</em> <desc>ID</desc>}</li>
 *   <li>{@link com.primeton.eos.oss.model.newdataset.AfcROrgPosition#getOrgId <em>OrgId</em> <desc>机构主键</desc>}</li>
 *   <li>{@link com.primeton.eos.oss.model.newdataset.AfcROrgPosition#getPositionId <em>PositionId</em> <desc>岗位主键</desc>}</li>
 *   <li>{@link com.primeton.eos.oss.model.newdataset.AfcROrgPosition#getEmployeeId <em>EmployeeId</em> <desc>员工主键</desc>}</li>
 *   <li>{@link com.primeton.eos.oss.model.newdataset.AfcROrgPosition#getDependentType <em>DependentType</em> <desc>员工岗位从属类型（主职，兼职）</desc>}</li>
 * </ul>
 * </p>
 *
 * @extends DataObject;
 */
public interface AfcROrgPosition extends DataObject {

	public String QNAME = "com.primeton.eos.oss.model.newdataset.AfcROrgPosition";

	public Type TYPE = TypeHelper.INSTANCE.getType("com.primeton.eos.oss.model.newdataset", "AfcROrgPosition");

	public static final IObjectFactory<AfcROrgPosition> FACTORY = new IObjectFactory<AfcROrgPosition>() {
		public AfcROrgPosition create() {
            Type type = TYPE;
			if(type == null) {
				type = TypeHelper.INSTANCE.getType("com.primeton.eos.oss.model.newdataset", "AfcROrgPosition");
			}
			if(type == null) {
				throw new IllegalDataObjectTypeException("cannot find entity type: " + QNAME);	
			}
			return (AfcROrgPosition) DataFactory.INSTANCE.create(type);
		}
	};

	/**
	 * Returns the value of the '<em><b>Id</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Id</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Id</em>' attribute.
	 * @see #setId(java.lang.String)
	 */
	public String getId();

	/**
	 * Sets the value of the '{@link com.primeton.eos.oss.model.newdataset.AfcROrgPosition#getId <em>Id</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Id</em>' attribute.
	 * @see #getId()
	 */
	public void setId(String id);

	/**
	 * Returns the value of the '<em><b>OrgId</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>OrgId</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>OrgId</em>' attribute.
	 * @see #setOrgId(java.lang.String)
	 */
	public String getOrgId();

	/**
	 * Sets the value of the '{@link com.primeton.eos.oss.model.newdataset.AfcROrgPosition#getOrgId <em>OrgId</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>OrgId</em>' attribute.
	 * @see #getOrgId()
	 */
	public void setOrgId(String orgId);

	/**
	 * Returns the value of the '<em><b>PositionId</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>PositionId</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>PositionId</em>' attribute.
	 * @see #setPositionId(java.lang.String)
	 */
	public String getPositionId();

	/**
	 * Sets the value of the '{@link com.primeton.eos.oss.model.newdataset.AfcROrgPosition#getPositionId <em>PositionId</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>PositionId</em>' attribute.
	 * @see #getPositionId()
	 */
	public void setPositionId(String positionId);

	/**
	 * Returns the value of the '<em><b>EmployeeId</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>EmployeeId</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>EmployeeId</em>' attribute.
	 * @see #setEmployeeId(java.lang.String)
	 */
	public String getEmployeeId();

	/**
	 * Sets the value of the '{@link com.primeton.eos.oss.model.newdataset.AfcROrgPosition#getEmployeeId <em>EmployeeId</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>EmployeeId</em>' attribute.
	 * @see #getEmployeeId()
	 */
	public void setEmployeeId(String employeeId);

	/**
	 * Returns the value of the '<em><b>DependentType</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>DependentType</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>DependentType</em>' attribute.
	 * @see #setDependentType(java.lang.String)
	 */
	public String getDependentType();

	/**
	 * Sets the value of the '{@link com.primeton.eos.oss.model.newdataset.AfcROrgPosition#getDependentType <em>DependentType</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>DependentType</em>' attribute.
	 * @see #getDependentType()
	 */
	public void setDependentType(String dependentType);


}